/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package relatorio;

import cliente.Cliente;
import java.util.ArrayList;
import mercadoria.Mercadoria;
import venda.Venda;

/**
 *
 * @author Luis Henrique
 */
public class Relatorio {
    
    
    

    public Relatorio() {
    }
    
    

    public ArrayList<Mercadoria> relatorioCliente(ArrayList<Cliente> listaCliente,
            ArrayList<Venda> listaVenda, 
            String nomeCliente){
        //vc recebe a lista de todas as vendas realizadas
        ArrayList <Mercadoria> m = new ArrayList<>();
        //for (Cliente cliente: listaCliente) {
          //  if (cliente.getNomeCliente().contentEquals(nomeCliente)){//Testa se cliente existe
                //System.out.println("Cliente: " + cliente.getNomeCliente()
                  //          + "\nComprou: ");
                for(Venda vc:listaVenda){
                    if(vc.getNomeCliente().getNomeCliente().equals(nomeCliente)){//Testa se cliente fez compra
                        
                        for(Mercadoria vp:vc.getListaComprasCliente()){//Lista Itens comprados pelo cliente
                            m.add(vp);
                    
                        }
                        
                        
                    }
                }
                //System.out.println("\n");
           // }
        //}
        return m;
    }
    
    public ArrayList<Cliente> relatorioItem(ArrayList<Venda> listaVenda, String nomeItem){
        //vc recebe a lista de todas as vendas realizadas
        //System.out.println("O Item " + nomeItem
          //  + " foi comprado pelos clientes: ");
        ArrayList <Cliente> c = new ArrayList<>();
        for(Venda vc:listaVenda){
            for(Mercadoria vp:vc.getListaComprasCliente()){//vc é um objeto listaVenda
                if((vp.getNomeItem().contentEquals(nomeItem))){//Testa cliente
                    //System.out.print(vc.getNomeCliente().getNomeCliente()+ "\n");
                     c.add(vc.getNomeCliente());
                }
            }
        }
        //System.out.println("\n");
        return c;
    }
     
    public void relatorioEstoque(ArrayList<Mercadoria> listaMercadoria){//Lista o que há no estoque
        for(Mercadoria pr:listaMercadoria){
            System.out.println(pr.getNomeItem() 
                 + " = " + pr.getQtdItem());
        }
        System.out.println("\n");               
    }
    
    public float relatorioSaidas(ArrayList <Mercadoria> mercadoria){
        float gastos=0;
        for(Mercadoria m:mercadoria)
            gastos+=(m.getPrecoItem()*m.getQtdItem());
        return gastos;
    }
    
    public float ralatorioEntradas(ArrayList <Venda> venda){
        float receita=0;
        for(Venda v:venda)
            receita+= v.getValorTotal();
        return receita;
    }
    

    
}
